1. Field of the Invention
The present application relates to encryption and authentication operations. More specifically, the present application relates to methods and apparatus for performing encryption and authentication operations for stream ciphers and variations of stream ciphers.
2. Description of Related Art
Conventional software and hardware designs for performing encryption and authentication operations for stream ciphers and variations of stream ciphers are inefficient. One design for performing encryption and authentication entails encrypting a data sequence and subsequently calculating an authentication code based on the encrypted data sequence. Calculating the authentication value typically involves performing hash operations on the encrypted data sequence. Other protocols specify calculating an authentication code based on the data sequence and encrypting the data sequence. Still other algorithms involve calculating an authentication code based on the data sequence and encrypting both the authentication code and the data sequence.
However, typical software and hardware designs for calculating an authentication code based on the data sequence and encrypting both the authentication code and the data sequence are inefficient and resource intensive.
A variety of techniques for performing encryption and authentication operations are described in Applied Cryptography, Bruce Schneier, John Wiley & Sons, Inc. (ISBN 0471128457), NIST Federal Information Processing Standard FIPS-197 (AES), and NIST Special Publication 800-38a (Modes of Operation), the entireties of which are incorporated by reference for all purposes.
It is therefore desirable to provide methods and apparatus for improving cryptographic operations with respect to some or all of the performance limitations noted above.